home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / wais / ir / Imakefile < prev    next >
Makefile  |  1995-05-09  |  6KB  |  287 lines

  1. #    @(#) Imakefile 11.1 95/02/09 
  2. #
  3. # This is a sample server, Z39.50 library, and a user interface stub
  4. #  The Z39.50 library was primariy written by Harry Morris and the search
  5. #  engine was primarily written by Brewster Kahle.
  6. #  -brewster 4/90
  7.  
  8. # S001 14-Mar-1995 kamalm@sco.com
  9. # - adjusted CFLAGS for SCO 5.0 build
  10. # - tweaked to only build target libraries (for Mosaic), not utilities
  11. # - added logfile.c for necessary 'logfile' definition in "libs only" mode
  12. #
  13. # S000 18 Sep 1993 rr@sco.com
  14. # placed under SCCS and turned into an Imakefile
  15. #
  16. # $Log: Makefile,v $
  17. # Revision 1.8.1.1  1992/07/11  00:41:46  curtisg
  18. # Added dependencies, moved things around
  19. # (notably, use ../lib instead of ../bin for libraries.)
  20. #
  21. # Revision 1.8  92/05/10  14:42:26  jonathan
  22. # Changed CLIENT_LOCAL_SRC ot ui-local.c.  Added link to ui.c
  23. # Revision 1.7  92/04/30  12:30:22  jonathan
  24. # Changed CC = to use cc instead.  It's the right thing to do...
  25. # Revision 1.6  92/04/28  17:09:05  jonathan
  26. # Added lock.[co] to lists.
  27. # Revision 1.5  92/02/27  09:15:28  jonathan
  28. # fixed compile line for ui-local.o
  29. # Revision 1.4  92/02/24  10:06:59  jonathan
  30. # Removed -DBOOL from CFLAGS
  31. # Revision 1.3  92/02/13  13:02:44  jonathan
  32. # Added CLIENT_LIB to default, and fixed rule.
  33. # Revision 1.2  92/02/13  12:28:26  jonathan
  34. # Removed object and boolean sources from definitions.
  35. # Revision 1.1  92/02/13  11:55:08  jonathan
  36. # Initial revision
  37. #
  38.  
  39. #  If a namespace resolver is not used (gethostbyname),
  40. #   set RESOLVER to nothing, otherwise -lresolv
  41. #  gcc vs cc:  This library was written on a bunch of ANSI routines.
  42. #   the ones that did not exist in gcc or for non-ANSI cc are in ustubs.c
  43. # for old BSD cc or System V, see cflags below
  44.  
  45. LIBDIR        = ../lib
  46. BINDIR        = ../bin
  47.  
  48. SERVER_CMD    = waisserver            # wais server
  49. SERVER1_CMD    = waisserver1            # single task wais server
  50. INDEX_CMD    = waisindex             # file indexer
  51.  
  52. PROTOCOL_LIB     = $(LIBDIR)/libwais.a        # protocol library
  53. CLIENT_LIB     = $(LIBDIR)/libclient.a        # client library
  54. INV_LIB     = $(LIBDIR)/libinv.a        # inverted file library
  55. SIG_LIB     = $(LIBDIR)/libsig.a        # signature file library
  56. LIBFTW        = $(LIBDIR)/libftw.a        # support library
  57.  
  58. SHELL_UI_SRC = ../ui/shell-ui.c
  59.  
  60. #
  61. # Configure these for your system.
  62. #
  63.  
  64. RM = /bin/rm -f
  65. AR = ar 
  66. ARFLAGS = r
  67. INSTALL = cp
  68.  
  69. # on SGIs, set this to true
  70. RANLIB = true
  71.  
  72. # C Compiler.  Use either cc or gcc.  Comment this out in release to
  73. # inherit from top level.
  74. CC = cc
  75.  
  76. # Compiler & linker flags.
  77. # Compiler debug flag.  Use -g for debugging, -O for optimization.
  78. # for antique bsd add -DBSD 
  79. # for System V add -DSYSV 
  80. # for XENIX add -M3e -Zi
  81. # -DSECURE_SERVER for waisserver to setuid to uucp after startup.
  82. CFLAGS = -b elf -O -I../ir -DSECURE_SERVER -DRELEVANCE_FEEDBACK -DUSG -DSYSV
  83.  
  84. # dealing with taking an intenet name and resolving it.  
  85. # set to -lresolv or nothing
  86. #RESOLVER=    #-lresolv 
  87. RESOLVER=    -lsocket
  88.  
  89. #
  90. # Files.
  91. #
  92.  
  93. # List of source files for saber.
  94.  
  95. PROTOCOL_SRC = \
  96.         cutil.c \
  97.         futil.c \
  98.         ircfiles.c \
  99.         irfileio.c \
  100.         irfiles.c \
  101.         irtfiles.c \
  102.         panic.c \
  103.         sockets.c \
  104.         transprt.c \
  105.         ustubs.c \
  106.         wmessage.c \
  107.         wprot.c \
  108.         wutil.c \
  109.         zprot.c \
  110.         zutil.c \
  111.          ztype1.c \
  112.         docid.c \
  113.         list.c \
  114.         lock.c
  115.  
  116. IR_SRC = \
  117.         ir.c \
  118.         irretrvl.c \
  119.         stoplist.c \
  120.          irsearch.c \
  121.         trie.c
  122.  
  123. CLIENT_SRC = \
  124.         ui.c
  125.  
  126. CLIENT_LOCAL_SRC = \
  127.         ui-local.c
  128.  
  129. INV_SRC  =    $(SOURCES) \
  130.         sersrch.c \
  131.         irhash.c \
  132.         hash.c \
  133.         irinv.c
  134.  
  135. SIG_SRC  =     $(SOURCES) \
  136.         sigsrch.c \
  137.         sighash.c \
  138.         hash.c
  139.  
  140. INDEX_SRC=    irbuild.c
  141.  
  142. SERVER_SRC=    $(INV_SRC) \
  143.         server.c
  144.  
  145. # List of object files for saber and regular compilation.
  146. # Should correspond to source files.
  147.  
  148. #
  149. #  S001  -- add logfile.o for "libs only" mode:
  150. #
  151. PROTOCOL_OBJ =    \
  152.                 logfile.o \
  153.         cutil.o \
  154.         futil.o \
  155.         ircfiles.o \
  156.         irfileio.o \
  157.         irfiles.o \
  158.         panic.o \
  159.         sockets.o \
  160.         transprt.o \
  161.         ustubs.o \
  162.         wmessage.o \
  163.         wprot.o \
  164.         wutil.o \
  165.         zprot.o \
  166.         zutil.o \
  167.          ztype1.o \
  168.         docid.o \
  169.         list.o \
  170.         lock.o
  171.  
  172. IR_OBJS = \
  173.         ir.o \
  174.         irretrvl.o \
  175.          irsearch.o \
  176.         irtfiles.o \
  177.         stoplist.o \
  178.         trie.o
  179.  
  180. CLIENT_OBJS = \
  181.         ui.o
  182.  
  183. CLIENT_LOCAL_OBJS = \
  184.         ui-local.o
  185.  
  186. INV_OBJ  =     $(IR_OBJS) \
  187.         $(CLIENT_LOCAL_OBJS) \
  188.         sersrch.o \
  189.         irhash.o \
  190.         hash.o \
  191.         irinv.o
  192.  
  193. SIG_OBJ  =     $(IR_OBJS) \
  194.         $(CLIENT_LOCAL_OBJS) \
  195.         sigsrch.o \
  196.         sighash.o \
  197.         hash.o
  198.  
  199. INDEX_OBJ    = irbuild.o
  200.  
  201. SERVER_OBJ    = server.o
  202.  
  203. SERVER1_OBJ    = server-single.o
  204.  
  205. #
  206. # Compilation.
  207. #
  208.  
  209. # all::    $(PROTOCOL_LIB) \                # S001
  210. #         $(INV_LIB) \
  211. #        $(SIG_LIB) \
  212. #        $(CLIENT_LIB) \
  213. #        $(INDEX_CMD) \
  214. #        $(SERVER_CMD)
  215.  
  216. all::    $(PROTOCOL_LIB) $(INV_LIB)
  217.  
  218. #                             # S001
  219. # install:: $(INDEX_CMD) $(SERVER_CMD)
  220. #     -rm -f $(BINDIR)/$(INDEX_CMD)
  221. #     $(INSTALL) $(INDEX_CMD) $(BINDIR)/$(INDEX_CMD)
  222. #     -rm -f $(BINDIR)/$(SERVER_CMD)
  223. #     $(INSTALL) $(SERVER_CMD) $(BINDIR)/$(SERVER_CMD)
  224.  
  225. install::
  226.  
  227.  
  228. clean::
  229.     -rm -f $(INDEX_CMD) $(SERVER_CMD)
  230.  
  231. $(CLIENT_LOCAL_OBJS):: $(CLIENT_LOCAL_SRC)
  232.         $(CC) $(CFLAGS) -DLOCAL_SEARCH -c $(CLIENT_LOCAL_SRC)
  233.  
  234. $(PROTOCOL_LIB):: $(LIBDIR) $(PROTOCOL_OBJ)
  235.         $(AR) $(ARFLAGS) $@ $(PROTOCOL_OBJ)
  236.         $(RANLIB) $@
  237.  
  238. $(CLIENT_LIB):: $(LIBDIR) $(CLIENT_OBJS)
  239.         $(AR) $(ARFLAGS) $@ $(CLIENT_OBJS)
  240.         $(RANLIB) $@
  241.  
  242. $(INV_LIB)::     $(LIBDIR) $(INV_OBJ)
  243.         $(AR) $(ARFLAGS) $@ $(INV_OBJ)
  244.         $(RANLIB) $@
  245.  
  246. $(SIG_LIB)::     $(LIBDIR) $(SIG_OBJ)
  247.         $(AR) $(ARFLAGS) $@ $(SIG_OBJ)
  248.         $(RANLIB) $@
  249.  
  250. $(INDEX_CMD)::    $(INDEX_OBJ) $(PROTOCOL_LIB) $(INV_LIB) $(LIBFTW)
  251.         $(RM) $@
  252.         $(CC) $(CFLAGS) -o $@ $(INDEX_OBJ) \
  253.          $(INV_LIB) $(PROTOCOL_LIB) $(LIBFTW) -lm $(RESOLVER);
  254.  
  255. $(SERVER_CMD)::    $(SERVER_OBJ) $(PROTOCOL_LIB) $(INV_LIB) $(LIBFTW)
  256.         $(RM) $@
  257.         $(CC) $(CFLAGS) -o $@ $(SERVER_OBJ) \
  258.          $(INV_LIB) $(PROTOCOL_LIB) $(LIBFTW) -lm $(RESOLVER);
  259.  
  260. $(SERVER1_CMD)::    $(SERVER1_OBJ) $(PROTOCOL_LIB) $(INV_LIB) $(LIBFTW)
  261.         $(RM) $@
  262.         $(CC) $(CFLAGS) -o $@ $(SERVER1_OBJ) \
  263.          $(INV_LIB) $(PROTOCOL_LIB) $(LIBFTW) -lm $(RESOLVER);
  264.  
  265. $(LIBDIR)::
  266.     if [ ! -d $(LIBDIR) ]; \
  267.     then \
  268.         mkdir -p $(LIBDIR); \
  269.         true; \
  270.     else \
  271.         true; \
  272.     fi
  273.  
  274. ui-local.c :: ui.c
  275.     rm -f ui-local.c
  276.     ln ui.c ui-local.c
  277.  
  278. DependTarget()
  279.